Cross-network wake-up method and related device

ABSTRACT

A cross-network wake-up method and a related device. In the method, an Internet of things platform sends a wake-up instruction to an agent device that maintains a heartbeat connection to the Internet of things platform, and then sends, through the agent device, a wake-up message to a to-be-woken-up Internet of things device that is deployed on a same private network as the agent device. This resolves a technical problem that after a public-private network address mapping becomes invalid, a message from the Internet of things platform cannot reach the Internet of things device through a NAT device, and the Internet of things device cannot receive the message.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No. PCT/CN2020/111790, filed on Aug. 27, 2020, which claims priority to Chinese Patent Application No. 201910830885.0, filed on Sep. 2, 2019, the disclosure of which is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

This application relates to the field of Internet of things technologies, and in particular, to a cross-network wake-up method and a related device.

BACKGROUND

With rise of Internet of things (IOT), a large quantity of Internet of things devices are put into use. The Internet of things combines various information sensing devices with the Internet to form a huge network, to implement interconnection of people, machines, and things at any time and anywhere.

Currently, an Internet of things device is generally connected to an Internet of things platform on the Internet through a network address translation (NAT) device. A network on which the Internet of things device is located is a private network, and the Internet of things platform is deployed on a public network. The NAT device is used to connect the private network to the public network and perform network address translation. When actively communicating with the Internet of things platform, the Internet of things device uses the NAT device to perform network address translation and establish a public-private network address mapping between the Internet of things device and the Internet of things platform, and accesses the Internet of things platform by using a public Internet protocol (IP) address of the NAT device as an egress.

The Internet of things platform sends a message to the Internet of things device based on the public-private network address mapping on the NAT device. If the public-private network address mapping is invalid, the message of the Internet of things platform cannot reach the Internet of things device through the NAT device. The public-private network address mapping on the NAT device generally has a two-minute life cycle. Therefore, if the Internet of things device is in a standby state or inactive for a long time, and the Internet of things device does not actively send a heartbeat message to the Internet of things platform through the NAT device for more than 2 minutes, the public-private network address mapping between the Internet of things device and the Internet of things platform on the NAT device becomes invalid. After the public-private network address mapping becomes invalid, the message of the Internet of things platform cannot reach the Internet of things device through the NAT device, and the Internet of things device cannot receive the message.

SUMMARY

Embodiments of this application provide a cross-network wake-up method and a related device, to resolve a technical problem that a message from an Internet of things platform cannot reach an Internet of things device through a NAT device, and the Internet of things device cannot receive the message.

According to a first aspect, an embodiment of this application provides a cross-network wake-up method, applied to an agent device. The agent device is a terminal device and deployed on a same private network under a same NAT device as N to-be-woken-up Internet of things devices. In addition, the agent device maintains, through the network address translation NAT device, a heartbeat connection to an Internet of things platform deployed on a public network, where N is an integer greater than or equal to 1. The cross-network wake-up method includes:

The agent device obtains a wake-up instruction sent by the Internet of things platform, where the wake-up instruction includes a private network address of the to-be-woken-up Internet of things device; and

the agent device sends a wake-up message to the to-be-woken-up Internet of things device based on the wake-up instruction through the private network address, where to be specific, the agent device sets a destination address of the wake-up message to the private network address, and then sends the wake-up message to the private network shared by the agent device and the to-be-woken-up Internet of things device, so that the wake-up message may reach the corresponding to-be-woken-up Internet of things device through the private network; the wake-up message is used to indicate the to-be-woken-up Internet of things device to send a connection request message to the Internet of things platform; and the connection request message is used to indicate the Internet of things platform to connect to the to-be-woken-up Internet of things device.

Therefore, in this method, the Internet of things platform sends the wake-up instruction to the agent device that maintains the heartbeat connection to the Internet of things platform, and then sends, through the agent device, the wake-up message to the to-be-woken-up Internet of things device that is deployed on the same private network as the agent device, so that the to-be-woken-up Internet of things device is woken up and connected to the Internet of things platform.

In a possible implementation of the first aspect, the wake-up instruction further includes an identity ID and a wake-up key of the to-be-woken-up Internet of things device. That the agent device sends a wake-up message to the to-be-woken-up Internet of things device based on the wake-up instruction through the private network address includes:

The agent device sends the wake-up message to the to-be-woken-up Internet of things device through the private network address, where the wake-up message includes the ID and the wake-up key of the to-be-woken-up Internet of things device, and the wake-up key is used for authentication before the to-be-woken-up Internet of things device establishes a connection to the Internet of things platform.

In a possible implementation of the first aspect, the private network address of the to-be-woken-up Internet of things device is in a target private network segment stored by the agent device, and the target private network segment includes a private network address served by the agent device.

In a possible implementation of the first aspect, before the agent device obtains the wake-up instruction sent by the Internet of things platform, the method further includes:

The agent device sends a first registration instruction to the Internet of things platform, where the first registration instruction includes an identifier, a registration type, and the private network address of the agent device, and the registration type is used to indicate that a device type of the agent device is an agent device; and

the agent device receives the target private network segment from the Internet of things platform, where the target private network segment includes the private network address served by the agent device.

According to a second aspect, an embodiment of this application provides a cross-network wake-up method, applied to an Internet of things platform. The Internet of things platform is deployed on a public network, and maintains a heartbeat connection to an agent device through a network address translation NAT device. The agent device and N to-be-woken-up Internet of things devices are deployed on a same private network, where N is an integer greater than or equal to 1. The cross-network wake-up method includes:

The Internet of things platform sends a wake-up instruction to the agent device, where the wake-up instruction includes a private network address of the to-be-woken-up Internet of things device, the wake-up instruction is used to instruct the agent device to send a wake-up message to the to-be-woken-up device, and the wake-up message is used to indicate the to-be-woken-up device to send a connection message to the Internet of things platform;

the Internet of things platform obtains the connection request message, where the connection request message includes an identifier of the to-be-woken-up device; and

the Internet of things platform connects to the to-be-woken-up device based on the connection request message.

Therefore, when the Internet of things platform needs to wake up the Internet of things device, the Internet of things platform may send the wake-up instruction to the agent device, and the agent device sends the wake-up message to the corresponding Internet of things device based on the wake-up instruction. After receiving the wake-up message, the Internet of things device actively connects to the Internet of things platform, to implement wake-up of the Internet of things device.

In a possible implementation of the second aspect, before the Internet of things platform sends the wake-up instruction to the agent device, the method further includes:

The Internet of things platform receives a first registration instruction of the agent device, where the first registration instruction includes an identifier, a registration type, and a private network address of the agent device, and the registration type is used to indicate that a device type of the agent device is an agent device;

the Internet of things platform determines a target private network segment of the agent device based on the private network address of the agent device, where the target private network segment includes the private network address served by the agent device;

the Internet of things platform stores the identifier of the agent device and the registration type; and

the Internet of things platform sends the target private network segment to the agent device.

In a possible implementation of the second aspect, before the Internet of things platform sends the wake-up instruction to the agent device, the method further includes:

the Internet of things platform receives a second registration instruction of the to-be-woken-up Internet of things device, where the second registration instruction includes the identifier, a registration type, the private network address, and function information of the to-be-woken-up Internet of things device, the registration type is used to indicate that a device type of the to-be-woken-up Internet of things device is an Internet of things device, and the function information includes wake-up support information; and

the Internet of things platform stores the ID, the registration type, and the private network address of the to-be-woken-up Internet of things device.

In a possible implementation of the second aspect, before the Internet of things platform sends the wake-up instruction to the agent device, the method further includes:

The Internet of things platform generates the wake-up instruction that carries the ID and a wake-up key of the to-be-woken-up Internet of things device, where the ID and the wake-up key of the to-be-woken-up Internet of things device are used for authentication before the to-be-woken-up Internet of things device establishes a connection to the Internet of things platform.

In a possible implementation of the second aspect, before the Internet of things platform sends the wake-up instruction to the agent device, the method further includes:

If the Internet of things platform determines that a device status of the to-be-woken-up Internet of things device is offline, the Internet of things platform generates the wake-up instruction based on the identifier of the to-be-woken-up Internet of things device and the private network address that is of the to-be-woken-up Internet of things device and that is stored on the Internet of things platform.

According to a third aspect, an embodiment of this application provides a cross-network wake-up method, including:

A to-be-woken-up Internet of things device receives a wake-up message sent by an agent device, where the agent device maintains, through a network address translation NAT device, a heartbeat connection to an Internet of things platform deployed on a public network, and the agent device and the to-be-woken-up Internet of things device are deployed on a same private network; and

the to-be-woken-up Internet of things device sends a connection request message to the Internet of things platform based on the wake-up message through the network address translation NAT device, where the connection request message is used to indicate the Internet of things platform to connect to the to-be-woken-up Internet of things device.

In a possible implementation of the third aspect, before the to-be-woken-up Internet of things device sends the connection request message to the Internet of things platform based on the wake-up message through the network address translation NAT device, the method further includes:

The to-be-woken-up Internet of things device receives an ID and a wake-up key of the to-be-woken-up Internet of things device that are sent by the agent device; and

if the ID and the wake-up key of the to-be-woken-up Internet of things device meet a preset condition, the to-be-woken-up Internet of things device sends the connection request message to the Internet of things platform based on the wake-up message through the network address translation NAT device.

According to a fourth aspect, an embodiment of this application provides a command forwarding method, applied to an agent device. The agent device is a terminal device and deployed on a same private network under a same NAT device as N Internet of things devices. In addition, the agent device maintains, through the network address translation NAT device, a heartbeat connection to an Internet of things platform deployed on a public network, where N is an integer greater than or equal to 1. The command forwarding method includes:

The agent device obtains a command forwarding instruction sent by the Internet of things platform, where the command forwarding instruction includes a private network address of the Internet of things device and an operation instruction, and the operation instruction is used to instruct the Internet of things device to perform a corresponding operation; and

the agent device sends a command message to the Internet of things device based on the command forwarding instruction through the private network address, where to be specific, the agent device sets a destination address of the command message to the private network address, and then sends the command message to the private network shared by the agent device and the Internet of things device, so that the command message may reach the corresponding Internet of things device through the private network; the command message includes the operation instruction; and the command message is used to indicate the Internet of things device to execute the operation instruction.

In this embodiment of this application, the Internet of things device may support a wake-up mode or a command forwarding mode. The Internet of things platform may first determine, based on function information of the Internet of things device, whether the Internet of things device supports either or both of the wake-up mode and the command forwarding mode. When the Internet of things device supports the wake-up mode, the Internet of things platform, the agent device, and the Internet of things device may perform the cross-network wake-up method according to the first aspect, the second aspect, and the third aspect. When the Internet of things device supports the command forwarding mode, the Internet of things platform, the agent device, and the Internet of things device may perform the command forwarding method in the fourth aspect.

According to a fifth aspect, an embodiment of this application provides an agent device, including:

an obtaining unit, configured to obtain a wake-up instruction sent by an Internet of things platform, where the wake-up instruction includes a private network address of a to-be-woken-up Internet of things device; the agent device maintains, through a network address translation NAT device, a heartbeat connection to the Internet of things platform deployed on a public network; and the agent device and N to-be-woken-up Internet of things devices are deployed on a same private network, where N is an integer greater than or equal to 1; and

a sending unit, configured to send, by the agent device, a wake-up message to the to-be-woken-up Internet of things device based on the wake-up instruction through the private network address, where the wake-up message is used to indicate the to-be-woken-up Internet of things device to send a connection request message to the Internet of things platform, and the connection request message is used to indicate the Internet of things platform to connect to the to-be-woken-up Internet of things device.

In a possible implementation of the fifth aspect, the sending unit is further configured to:

send the wake-up message to the to-be-woken-up Internet of things device through the private network address, where the wake-up message includes an ID and a wake-up key of the to-be-woken-up Internet of things device, and the wake-up key is used for authentication before the to-be-woken-up Internet of things device establishes a connection to the Internet of things platform.

In another possible implementation of the fifth aspect, the private network address of the to-be-woken-up Internet of things device is in a target private network segment stored by the agent device, and the target private network segment includes a private network address served by the agent device.

In another possible implementation of the fifth aspect, the sending unit is further configured to:

send a first registration instruction to the Internet of things platform, where the first registration instruction includes an identifier, a registration type, and the private network address of the agent device, and the registration type is used to indicate that a device type of the agent device is an agent device.

The obtaining unit is further configured to receive the target private network segment from the Internet of things platform, where the target private network segment includes the private network address served by the agent device.

According to a sixth aspect, an embodiment of this application provides an Internet of things platform, including:

a sending unit, configured to send a wake-up instruction to an agent device, where the wake-up instruction includes a private network address of a to-be-woken-up Internet of things device; the agent device maintains, through a network address translation NAT device, a heartbeat connection to the Internet of things platform deployed on a public network; the agent device and N to-be-woken-up Internet of things devices are deployed on a same private network; the wake-up instruction is used to instruct the agent device to send a wake-up message to the to-be-woken-up device; and the wake-up message is used to indicate the to-be-woken-up device to send a connection message to the Internet of things platform, where N is an integer greater than or equal to 1;

an obtaining unit, configured to obtain the connection request message, where the connection request message includes an identifier of the to-be-woken-up device; and

a processing unit, configured to connect to the to-be-woken-up device based on the connection request message.

In a possible implementation of the sixth aspect, the obtaining unit is further configured to receive a first registration instruction of the agent device, where the first registration instruction includes an identifier, a registration type, and a private network address of the agent device, and the registration type is used to indicate that a device type of the agent device is an agent device.

The processing unit is configured to determine a target private network segment of the agent device based on the private network address of the agent device, where the target private network segment includes the private network address served by the agent device.

The processing unit is further configured to store the identifier and the registration type of the agent device.

The sending unit is further configured to send the target private network segment to the agent device.

In another possible implementation of the sixth aspect, the obtaining unit is further configured to receive a second registration instruction of the to-be-woken-up Internet of things device, where the second registration instruction includes an identity ID, a registration type, a private network address, and function information of the to-be-woken-up Internet of things device, the registration type is used to indicate that a device type of the to-be-woken-up Internet of things device is an Internet of things device, and the function information includes wake-up support information.

The processing unit is further configured to store the ID, the registration type, the private network address, and the function information of the to-be-woken-up Internet of things device.

In another possible implementation of the sixth aspect, the processing unit is further configured to generate a wake-up instruction, where the wake-up instruction carries an ID and a wake-up key of the to-be-woken-up Internet of things device, and the ID and the wake-up key of the to-be-woken-up Internet of things device are used for authentication before the to-be-woken-up Internet of things device establishes a connection to the Internet of things platform.

In another possible implementation of the sixth aspect, the processing unit is further configured to: if the Internet of things platform determines that a device status of the to-be-woken-up Internet of things device is offline, generate, by the Internet of things platform, the wake-up instruction based on the ID of the to-be-woken-up Internet of things device and the private network address that is of the to-be-woken-up Internet of things device and that is stored on the Internet of things platform.

According to a seventh aspect, an embodiment of this application provides a to-be-woken-up Internet of things device, including:

a receiving unit, configured to receive a wake-up message sent by an agent device, where the agent device maintains, through a network address translation NAT device, a heartbeat connection to an Internet of things platform deployed on a public network, and the agent device and the to-be-woken-up Internet of things device are deployed on a same private network; and

a sending unit, configured to send a connection request message to the Internet of things platform based on the wake-up message through the network address translation NAT device, where the connection request message is used to indicate the Internet of things platform to connect to the to-be-woken-up Internet of things device.

In a possible implementation of the seventh aspect, the receiving unit is further configured to receive an ID and a wake-up key of the to-be-woken-up Internet of things device that are sent by the agent device.

The sending unit is further configured to: if the ID and the wake-up key of the to-be-woken-up Internet of things device meet a preset condition, send, by the to-be-woken-up Internet of things device, the connection request message to the Internet of things platform based on the wake-up message through the network address translation NAT device.

According to an eighth aspect, an embodiment of this application provides an agent device, including:

one or more central processing units, a memory, an input/output interface, a wired or wireless network interface, and a power supply.

The memory is a transient storage memory or a persistent storage memory.

The central processing unit is configured to communicate with the memory, and execute, on the agent device, an instruction operation in the memory, to perform the method according to the first aspect or the fourth aspect.

According to a ninth aspect, an embodiment of this application provides an Internet of things platform server, including:

one or more central processing units, a memory, an input/output interface, a wired or wireless network interface, and a power supply.

The memory is a transient storage memory or a persistent storage memory.

The central processing unit is configured to communicate with the memory, and execute, on the Internet of things platform server, an instruction operation in the memory, to perform the method according to the second aspect.

According to a tenth aspect, an embodiment of this application provides a to-be-woken-up Internet of things device, including:

one or more central processing units, a memory, an input/output interface, a wired or wireless network interface, and a power supply.

The memory is a transient storage memory or a persistent storage memory.

The central processing unit is configured to communicate with the memory, and execute, on the to-be-woken-up Internet of things device, an instruction operation in the memory, to perform the method according to the third aspect.

According to an eleventh aspect, an embodiment of this application provides a computer-readable storage medium, including instructions. When the instructions are run on a computer, the computer is enabled to perform a process of the method according to the first aspect, the second aspect, the third aspect, or the fourth aspect.

According to a twelfth aspect, an embodiment of this application provides a computer program product including instructions. When the computer program product runs on a computer, the computer is enabled to perform a process of the method according to the first aspect, the second aspect, the third aspect, or the fourth aspect.

It can be learned from the foregoing technical solutions that the embodiments of this application have the following advantages:

The embodiments of this application provide a cross-network wake-up method and a related device. In the method, an Internet of things platform sends a wake-up instruction to an agent device that maintains a heartbeat connection to the Internet of things platform, and then sends, through the agent device, a wake-up message to a to-be-woken-up Internet of things device that is deployed on a same private network as the agent device. In this way, the to-be-woken-up Internet of things device is woken up and connected to the Internet of things platform, so that the Internet of things platform deployed on a public network wakes up, in a cross-network manner, the to-be-woken-up Internet of things device deployed on the private network. This resolves a technical problem that after a public-private network address mapping becomes invalid, a message from the Internet of things platform cannot reach an Internet of things device through a NAT device, and the Internet of things device cannot receive the message.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram of an Internet of things framework according to an embodiment of this application;

FIG. 2 is a schematic diagram of an interface on which a user sends instructions to a device after logging in to an Internet of things platform according to an embodiment of this application;

FIG. 3 is a schematic diagram of another interface on which a user sends instructions to a device after logging in to an Internet of things platform according to an embodiment of this application;

FIG. 4 is a schematic diagram of a detailed interface of an Internet of things device displayed on a terminal device according to an embodiment of this application;

FIG. 5 is a schematic diagram in which an Internet of things platform automatically controls an Internet of things device according to an embodiment of this application;

FIG. 6 is a schematic diagram of a system architecture of a cross-network wake-up method according to an embodiment of this application;

FIG. 7 is a schematic signaling diagram of a cross-network wake-up method according to an embodiment of this application;

FIG. 8 is a schematic diagram of an interface before an Internet of things platform modifies a status of an Internet of things device according to an embodiment of this application;

FIG. 9 is a schematic diagram of an interface after an Internet of things platform modifies a status of an Internet of things device according to an embodiment of this application;

FIG. 10 is a schematic diagram of an interface on which an upper-layer application displays a notification message according to an embodiment of this application;

FIG. 11 is a schematic signaling diagram of registration on an Internet of things platform by an agent device and an Internet of things device according to an embodiment of this application;

FIG. 12 is a schematic diagram of an interface on which an Internet of things platform displays registered devices according to an embodiment of this application;

FIG. 13 is a schematic signaling diagram of establishing a connection between an Internet of things device and an Internet of things platform according to an embodiment of this application;

FIG. 14 is a schematic signaling diagram when an Internet of things device supports a command forwarding mode according to an embodiment of this application;

FIG. 15 is a possible schematic composition diagram of an agent device;

FIG. 16 is a possible schematic composition diagram of an Internet of things platform;

FIG. 17 is a possible schematic composition diagram of an Internet of things device;

FIG. 18 is a schematic diagram of an embodiment of an agent device according to an embodiment of this application;

FIG. 19 is a schematic diagram of an embodiment of an Internet of things platform according to an embodiment of this application; and

FIG. 20 is a schematic diagram of an embodiment of an Internet of things device according to an embodiment of this application.

DESCRIPTION OF EMBODIMENTS

Embodiments of this application provide a cross-network wake-up method and a related device, to resolve a technical problem that a message from an Internet of things platform cannot reach an Internet of things device through a NAT device, and the Internet of things device cannot receive the message.

Internet of things (JOT) is to use various apparatuses and technologies such as various information sensors, radio frequency identification technologies, global positioning systems, infrared sensors, and laser scanners to collect, in real time, any object or process that needs to be monitored, connected, or interacted, and collect various required information, such as acoustic, optical, thermal, electrical, mechanical, chemical, biological, and location information, of the object or the process. Through various kinds of possible network access, ubiquitous connections between objects and between objects and people are implemented, and the objects and processes are intelligently perceived, identified, and managed. The Internet of things is an information carrier based on the Internet, conventional telecommunications networks, and the like, and enables all common physical objects that can be independently addressed to form an interconnected network.

Application of the Internet of things involves various fields. Application of the Internet of things in infrastructure fields, such as industry, agriculture, environment, transportation, logistics, and security, effectively promotes intelligent development of these fields, and makes limited resources more rationally utilized and allocated, thereby improving industrial efficiency and benefits. Application of the Internet of things in fields that are closely related to life, such as household, medical and health care, education, finance and service industry, and tourism, greatly improves the service scope, service mode, service quality, and the like, and greatly improves people's quality of life. In the field of defense and military affairs, although application of the Internet of things is still in a research and exploration stage, impact of the application of the Internet of things cannot be underestimated. From equipment systems such as satellites, missiles, aircraft and submarines to individual combat equipment, embedding of the Internet of things technology effectively enhances military intelligence, informatization, and precision, greatly improves military combat effectiveness, and is a key to future military transformation.

The following describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. It is clear that the described embodiments are merely a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention. FIG. 1 is a schematic diagram of an Internet of things framework according to an embodiment of this application. It can be learned that a server is connected to various Internet of things devices through a network address translation (NAT) device. The server is provided with an Internet of things platform, and a user of the Internet of things platform sends, by using the Internet of things platform, an operation instruction to each Internet of things device connected to the Internet of things platform. The Internet of things platform may further automatically control the Internet of things device based on information about the Internet of things device. The Internet of things device may be used in the foregoing various fields, and specifically, may include but is not limited to a camera, a smart lock, a smart speaker, an autonomous vehicle, or the like. In this embodiment of this application, the Internet of things device may also be referred to as a to-be-woken-up Internet of things device. For ease of description, the Internet of things device is used for description in this embodiment of this application.

The NAT device is connected to the server and the Internet of things devices. Network address translation, also known as network masking or Internet protocol (IP) address masking, is a technique that rewrites a source IP address or a destination IP address of an IP data packet when the data packet passes through a router or firewall. This technique is commonly used in a private network with a plurality of hosts accessing the Internet through only one public IP address. As shown in FIG. 1, a network on which the server is located is a public network, a network on which the Internet of things devices are located is a private network, a private IP address of the camera is 192.168.0.1, a private IP address of the smart lock is 192.168.0.2, a private IP address of the smart speaker is 192.168.0.3, and a private IP address of the autonomous vehicle is 192.168.0.4. After instructions of these Internet of things devices are sent to the NAT device, the NAT device translates source addresses of the instructions to a public IP address 219.152.168.222 of the NAT device and sends the instructions to the server. Before the server sends an instruction to the Internet of things device, the Internet of things device connects to the server through the NAT device and sends the private IP address of the Internet of things device to the server, and the server stores the private IP address. When the server needs to send an operation instruction to the Internet of things device, the Internet of things platform generates an instruction including a private IP address, and then sends the instruction to the NAT device through the server. The NAT device translates a target IP address of the instruction into the private IP address based on the private IP address and a public-private network address mapping in the instruction. Then, the NAT device forwards the instruction to an Internet of things device corresponding to the private IP address, so that the Internet of things device performs a corresponding operation in response to the instruction. For example, if the server needs to send an instruction to the smart lock, the server sends an instruction including the private IP address 192.168.0.2 to the NAT device. After receiving the instruction, the NAT device translates a destination address of the instruction into the private IP address 192.168.0.2, to send the instruction to the smart lock with the private IP address 192.168.0.2.

Table 1 is a mapping table of public-private network address mappings according to this embodiment of this application. It can be learned that there is a mapping relationship between the private IP address of the Internet of things device and a public IP address of the Internet of things platform. When receiving an instruction of the Internet of things device, an agent device may modify a source IP address of the instruction to the public IP address of the NAT device, and establish a public-private network address mapping between the private IP address of the Internet of things device and the public IP address of the Internet of things platform based on the public IP address of the Internet of things platform in the instruction. When receiving an instruction of the Internet of things platform, the NAT device finds a corresponding private IP address of an Internet of things device based on the public IP address of the Internet of things platform in the instruction and the public-private network address mapping between the private IP address of the Internet of things device and the public IP address of the Internet of things platform shown in Table 1. In this case, the NAT device may forward the instruction to the corresponding Internet of things device based on the private IP address of the Internet of things device.

TABLE 1 Private IP address of the Internet of things device Public IP address of the Internet of things platform 192.168.0.1 XXX.XXX.XXX.XXX 192.168.0.2 XXX.XXX.XXX.XXX 192.168.0.2 XXX.XXX.XXX.XXX

FIG. 2 is a schematic diagram of an interface on which a user sends instructions to a device after logging in to an Internet of things platform according to an embodiment of this application. The interface in FIG. 2 includes a title bar, a function block, and a main interface. The title bar may display an XXX Internet of things platform and function buttons such as minimization, maximization, and close buttons. The function block includes function buttons, to perform functions such as adding a new Internet of things device, deleting an Internet of things device, or displaying my account information. The main interface displays a name, a location, and an available operation of the Internet of things device. The user of the Internet of things platform may connect to the Internet of things platform through an application (APP) on a terminal device, and send, through the Internet of things platform, an operation instruction to an Internet of things device associated with the user. For example, the user has a smart lock and establishes a connection to the Internet of things platform after installing the smart lock. Then, the user may log in to the Internet of things platform through an application on the terminal device to send an operation instruction to the smart lock. It can be learned from FIG. 2 that, after the user logs in to the Internet of things platform, the user may see, by using an interface on the terminal device, an icon of the smart lock that has established the connection to the Internet of things platform. When the user needs to open a door, the user may tap an “open door” virtual button on the interface. In response to the tapping signal, the Internet of things platform sends an operation instruction to the smart lock through a NAT device. The operation instruction is used to instruct the smart lock to open the door. Similarly, through the Internet of things platform, the user may also send instructions such as recording and photographing to a camera, or send instructions such as playing music to a smart speaker.

FIG. 3 is a schematic diagram of another interface on which a user sends instructions to a device after logging in to an Internet of things platform according to an embodiment of this application. It may be understood that FIG. 2 is generally a schematic diagram of an interface on a terminal device with a relatively large screen such as a computer, a tablet, or a vehicle-mounted device, and FIG. 3 is a schematic diagram of an interface on a terminal device with a relatively small screen such as a mobile phone. The interface in FIG. 3 includes a location of an Internet of things device, a name of the Internet of things device, a function block, and the like. The location of the Internet of things device is “my home”, that is, FIG. 3 shows an application scenario of a smart home. The function block includes function buttons, to perform functions such as adding a new Internet of things device, deleting an Internet of things device, or displaying my account information. The user taps, on the interface of the terminal device, an Internet of things name or a virtual button that displays the Internet of things name to enter a corresponding detailed interface. FIG. 4 is a schematic diagram of a detailed interface of an Internet of things device displayed on the terminal device according to an embodiment of this application. It can be learned that the interface is an interface diagram entered after the user taps a camera in FIG. 3. The interface in FIG. 4 includes an image that is being photographed by the camera and two virtual buttons: “photo” and “video”. The user may observe, by using the terminal device, the image that is being photographed by the camera, and may separately tap the two virtual buttons: “photo” and “video” to send different operation instructions. For example, when the user taps the virtual button “photo”, the terminal device sends an operation instruction to the Internet of things platform on a server, and the Internet of things platform generates a control instruction for the camera in response to the operation instruction, and forwards the control instruction to the camera through a NAT device. The control instruction is used to control the camera to photograph.

The Internet of things platform may further automatically control an Internet of things device based on information about the Internet of things device. FIG. 5 is a schematic diagram in which the Internet of things platform automatically controls the Internet of things device according to an embodiment of this application. The user installs two Internet of things devices: a camera and a smart lock on the door, and set automatic door opening rules on the Internet of things platform. When the user arrives at the door, the camera captures a face of the user and uploads a face image to the Internet of things platform on the server through the NAT device. The Internet of things platform identifies, through a facial recognition technology, that the user is in front of the door. Then, the Internet of things platform automatically generates a door opening instruction based on a facial recognition result, and sends the door opening instruction to the smart lock through the NAT device. After receiving the instruction, the smart lock executes a door opening action, and the user can enter the home without a key.

However, the foregoing application scenarios are all implemented when the Internet of things device maintains a connection to the Internet of things platform. The NAT device rewrites a destination address or a source address of a transmitted instruction by using a public-private network address mapping, to implement communication between the Internet of things device and the Internet of things platform. The public-private network address mapping is generally stored in the NAT device for only 2 minutes. If the NAT device does not receive a communication instruction between the Internet of things device and the Internet of things platform within 2 minutes, the public-private network address mapping between the Internet of things device and the Internet of things platform becomes invalid. When the public-private network address mapping between the Internet of things device and the Internet of things platform is invalid, after the Internet of things platform sends an instruction to the NAT device, the NAT device cannot translate a destination address of the instruction to the private IP address of the Internet of things device. Consequently, the NAT device cannot forward the instruction from the Internet of things platform, and the Internet of things platform cannot control the Internet of things device. In view of this, an embodiment of this application provides a cross-network wake-up method, so that when a public-private network address mapping between an Internet of things device and an Internet of things platform is invalid, the Internet of things device can be woken up, and the public-private network address mapping between the Internet of things device and the Internet of things platform can be restored.

FIG. 6 is a schematic diagram of a system architecture of the cross-network wake-up method according to an embodiment of this application. It can be learned that an agent device is disposed on a private network in this embodiment of this application. The agent device is connected to a server on a public network through a NAT device, and an Internet of things platform is installed on the server. In addition, an Internet of things device is disposed on the same private network as the agent device. In other words, the agent device and the Internet of things device are on a private network under a same NAT device, and the agent device and the Internet of things device each have a separate private IP address. For example, a private IP address of a camera is 192.168.0.1, a private IP address of a smart lock is 192.168.0.2, a private IP address of a smart speaker is 192.168.0.3, and a private IP address of the agent device is 192.168.0.5.

As shown in FIG. 6, the agent device establishes a heartbeat connection to the Internet of things platform through the NAT device, and sends a heartbeat message to the Internet of things platform at a preset interval. When forwarding the heartbeat message, the NAT device keeps a public-private network address mapping between the agent device and the Internet of things platform alive. For example, if the agent device sends heartbeat message to the Internet of things platform every 1 minute, the NAT device forwards the heartbeat information every 1 minute. If the public-private network address mapping is generally stored for 2 minutes in the NAT device, the NAT device forwards the heartbeat information every 1 minute, so that the public-private network address mapping can be always stored in the NAT device and does not become invalid. After an instruction of the Internet of things platform is sent to the NAT device, the NAT device can translate a destination address of the instruction into a private IP address of the agent device based on the keepalive public-private network address mapping between the agent device and the Internet of things platform, so that the instruction of the Internet of things platform can reach the agent device smoothly.

As shown in FIG. 6, the agent device and the Internet of things device are disposed on the private network under the same NAT device, that is, are disposed on a same local area network. When the agent device needs to send an instruction to the Internet of things device, the agent device may send the instruction to the corresponding Internet of things device only through the private IP address of the private network. For example, when the agent device sends an instruction to the camera, the agent device may send an instruction whose destination address is 192.168.0.1. The instruction may be directly transmitted to the camera based on the destination address 192.168.0.1 without network address translation.

It may be understood that one agent device and N Internet of things devices may be disposed on a private network under a same NAT device. The agent device may be connected to a plurality of Internet of things platforms. After receiving a wake-up instruction of the Internet of things platform, the agent device may select, based on a private IP address of an Internet of things device in the wake-up instruction, the corresponding Internet of things device from the N Internet of things devices to send a message. As shown in FIG. 6, one agent device and three Internet of things devices (the camera, the smart lock, and the smart speaker) are disposed on the same private network.

Refer to FIG. 6. The Internet of things platform may send the wake-up instruction to the agent device through the NAT device. After the agent device receives the wake-up instruction, the agent device may send a wake-up message to the corresponding Internet of things device. After the Internet of things device receives the wake-up message sent by the agent device, the Internet of things device sends a connection request message to the Internet of things platform through the NAT device. After receiving the connection request message, the NAT device establishes a public-private network address mapping between the Internet of things device and the Internet of things platform, that is, restores the public-private network address mapping between the Internet of things device and the Internet of things platform. The Internet of things device is woken up, and an instruction of the Internet of things platform may reach the Internet of things device through the NAT device.

After logging in to the Internet of things platform, a user browses the interface shown in FIG. 2 or FIG. 3. The user may tap a virtual button for door opening on the interface, and the Internet of things platform checks a status of the smart lock in response to the tap. Because the smart lock does not generate data and report the data for a long time, the status of the smart lock on the Internet of things platform is generally offline. If the Internet of things platform detects that the status of the smart lock is offline, the Internet of things platform caches a door opening instruction, and sends a wake-up instruction of the smart lock to the agent device. After receiving the wake-up instruction of the smart lock, the agent device sends a wake-up message to the smart lock, so that the smart lock sends a connection request message to the Internet of things platform through the NAT device in response to the wake-up message. When forwarding the connection request message, the NAT device restores a public-private network address mapping between the smart lock and the Internet of things platform. After receiving the connection request message, the Internet of things platform modifies the status of the smart lock to online, and may send the cached door opening instruction to the smart lock through the NAT device. After receiving the door opening instruction, the smart lock performs a door opening operation, and the user may tap a virtual door opening button to open the door through the smart lock.

The Internet of things platform may alternatively automatically wake up a corresponding Internet of things device based on a preset computer program. For example, in FIG. 5, after the user arrives at the door, the camera captures the face of the user and uploads the face to the Internet of things platform. The Internet of things platform identifies, through the facial recognition technology, that the face is a face of the user, and the Internet of things platform performs an automatic door opening process. To be specific, the Internet of things platform checks a status of the smart lock. If the status of the smart lock is online, the Internet of things platform directly sends a door opening instruction to the smart lock. If the status of the smart lock is offline, the Internet of things platform caches the door opening instruction, and sends a wake-up instruction of the smart lock to the agent device. After receiving the wake-up instruction of the smart lock, the agent device sends a wake-up message to the smart lock, so that the smart lock sends a connection request message to the Internet of things platform through the NAT device in response to the wake-up message. When forwarding the connection request message, the NAT device restores a public-private network address mapping between the smart lock and the Internet of things platform. After receiving the connection request message, the Internet of things platform modifies the status of the smart lock to online, and may send the cached door opening instruction to the smart lock through the NAT device. After receiving the door opening instruction, the smart lock performs a door opening operation. After the user arrives at the door, the camera captures the face of the user, and the smart lock is automatically unlocked after being woken up.

FIG. 7 is a schematic signaling diagram of a cross-network wake-up method according to an embodiment of this application. It can be learned that the cross-network wake-up method provided in this embodiment of this application includes the following steps.

701: An Internet of things platform obtains an operation instruction for an Internet of things device.

In this embodiment of this application, when a user taps a virtual button on a terminal device, the terminal device sends a corresponding operation instruction to the Internet of things platform in response to tapping of the virtual button, and the Internet of things platform obtains the operation instruction for the Internet of things device. FIG. 2 is used as an example. After the user taps the virtual button of “door opening”, the terminal device sends a door opening instruction to the Internet of things platform, and the Internet of things platform obtains the door opening instruction for the smart lock.

It may be understood that the Internet of things platform may automatically generate an operation instruction. For example, after receiving a signal of another Internet of things device, the Internet of things platform processes the signal according to a preset rule, and finally automatically generates an operation instruction and delivers the operation instruction to the corresponding Internet of things device. FIG. 5 is used as an example. After capturing the face of the user, the camera uploads the face to the Internet of things platform. If the Internet of things platform detects, through the facial recognition technology, that the face is a face of the user, the Internet of things platform automatically generates a door opening instruction for the smart lock. In other words, the Internet of things platform obtains an automatically generated operation instruction for the Internet of things device.

702: The Internet of things platform determines that the Internet of things device is offline, caches the operation instruction, and sends a wake-up instruction to an agent device.

In this embodiment of this application, after obtaining the operation instruction, the Internet of things platform may detect whether the Internet of things device corresponding to the operation instruction is offline, and directly deliver the operation instruction to the Internet of things device if a status of the Internet of things device is online. When the status of the Internet of things device is online, it indicates that the Internet of things device maintains a connection to the Internet of things platform, a NAT device stores a public-private network address mapping between the Internet of things device and the Internet of things platform, and the Internet of things platform may directly deliver the operation instruction to the Internet of things device. The NAT device can forward the operation instruction based on the public-private network address mapping, and the Internet of things device can receive the operation instruction. If the status of the Internet of things device is offline, the Internet of things platform needs to first wake up the Internet of things device and then deliver the operation instruction to the Internet of things device. The Internet of things platform may cache the operation instruction, and send a wake-up instruction to the agent device.

In a possible embodiment, before sending the wake-up instruction to the agent device, the Internet of things platform may first determine, based on function information of the Internet of things device, whether the Internet of things device supports wake-up. For example, the Internet of things platform reads that the function information of the Internet of things device is wake-up support information. In this case, the Internet of things platform may send the wake-up instruction to the agent device. The function information of the Internet of things device is stored on the Internet of things platform during registration of the Internet of things device. For a specific implementation, refer to the registration embodiment of the Internet of things device in the embodiments of this application. Details are not described herein again.

The wake-up instruction generally includes an identity ID of the Internet of things device and a private IP address of the device, and may further include a wake-up key of the Internet of things device. The wake-up key is used for security verification. The Internet of things device ID is used to determine the Internet of things device that executes the operation instruction, and the private IP address of the device is used to indicate a destination address of the wake-up message sent by the agent device. For example, if the Internet of things platform delivers an operation instruction related to the smart lock, the wake-up instruction includes a device ID of the smart lock, a private IP address 192.168.0.2 of the smart lock, and a wake-up key of the smart lock.

In a possible embodiment, a private network includes a plurality of agent devices. In this case, the Internet of things platform may first determine, based on a target private network segment of an agent device to which the private IP address of the Internet of things device belongs, the agent device corresponding to the Internet of things device. Then, the Internet of things platform may send the wake-up instruction to the corresponding agent device. The target private network segment of the agent device represents a private IP address served by the agent device. Table 2 is a data table of target private network segments of agent devices. It can be learned that each agent device on a private network under one NAT device separately serves a different network segment, that is, serves different Internet of things devices. For example, if a private IP address of an Internet of things device is 192.168.0.100, the Internet of things platform determines that the private IP address belongs to a target private network segment from 192.168.0.1 to 192.168.0.255. In this case, an agent device corresponding to the Internet of things device is an agent device 1, and the Internet of things platform may send the wake-up instruction to the agent device 1.

TABLE 2 Agent device Target private network segment Agent device 1 192.168.0.1 to 192.168.0.255 Agent device 2 192.168.1.1 to 192.168.1.255 Agent device 3 192.168.2.1 to 192.168.2.255

703: The agent device sends a wake-up message to the Internet of things device based on the wake-up instruction.

In this embodiment of this application, after receiving the wake-up instruction, the agent device may send the wake-up message to the Internet of things device based on the wake-up instruction. First, the agent device generates the wake-up message based on the wake-up instruction. A destination address of the wake-up message is the private IP address of the device in the wake-up instruction, and the wake-up message may include the Internet of things device ID and the wake-up key.

For example, after receiving a wake-up instruction for a smartlock, the agent device may generate a wake-up message for the smart doorbell based on the wake-up instruction. A destination address of the wake-up message is the private IP address 192.168.0.2 of the smart doorbell. The wake-up message may further include a wake-up key of the smart doorbell.

Then, the agent device sends the wake-up message to the Internet of things device. If the agent device and the Internet of things device are disposed on a private network under a same NAT device, the wake-up message may directly reach the corresponding Internet of things device based on the private IP address.

704: After receiving the wake-up message, the Internet of things device detects that the wake-up key is valid, and sends a connection request message to the Internet of things platform.

In this embodiment of this application, after receiving the wake-up message, the Internet of things device reads the wake-up key from the wake-up message, and detects whether the wake-up key is valid. If the wake-up key is valid, the Internet of things device sends the connection request message to the Internet of things platform. A method in which the Internet of things device detects whether the wake-up key is valid may be: The Internet of things device compares the obtained wake-up key with a wake-up key stored in the Internet of things device, and if the keys are consistent, the Internet of things device determines that the wake-up key is valid.

In a possible embodiment, after receiving the wake-up message, the Internet of things device may read the Internet of things device ID and the wake-up key from the wake-up message, and determine, based on the Internet of things device ID and the wake-up key, whether the wake-up message is valid. If the wake-up message is valid, the Internet of things device sends the connection request message to the Internet of things platform. A method in which the Internet of things device determines, based on the Internet of things device ID and the wake-up key, whether the wake-up message is valid is similar to an account password verification method. This is not specifically limited herein.

The Internet of things device may send the connection request message to the Internet of things platform through the NAT device. When the connection request message reaches the NAT device, a destination address is translated into a public IP address of the Internet of things platform by using the public-private network address mapping on the NAT device. Then, the message is sent to the Internet of things platform. The connection request message may include the Internet of things device ID, the private IP address of the Internet of things device, authentication information, and the like. The authentication information is used when the Internet of things device establishes a connection to the Internet of things platform. The Internet of things platform verifies permission of the Internet of things device based on the authentication information. If the permission succeeds, the Internet of things platform establishes the connection to the Internet of things device, records the private IP address of the Internet of things device, and modifies the status of the Internet of things device to online.

705: After receiving the connection request message, the Internet of things platform modifies the status of the Internet of things device to online.

It may be understood that after receiving the connection request message, the Internet of things platform determines the Internet of things device ID and the private IP address of the Internet of things device based on the connection request message. The Internet of things platform may find corresponding Internet of things device data in a database based on the Internet of things device ID, and modifies a status of an Internet of things device in the corresponding Internet of things device data to online. The Internet of things platform may further store the private IP address of the Internet of things device. When generating the wake-up instruction, the Internet of things platform may add the stored private IP address of the Internet of things device to the wake-up instruction.

FIG. 8 is a schematic diagram of an interface before the Internet of things platform modifies the status of the Internet of things device according to an embodiment of this application. The user may log in to the Internet of things platform through the terminal device, to view the interface shown in FIG. 8. Although a status of a smart lock on the interface is offline, the user may still tap a door opening virtual button. In this case, the Internet of things platform may first wake up the smart lock, and then deliver a door opening instruction.

FIG. 9 is a schematic diagram of an interface after the Internet of things platform modifies the status of the Internet of things device according to an embodiment of this application. The user may log in to the Internet of things platform through the terminal device, to view the image shown in FIG. 9. It can be learned that the Internet of things platform modifies a status of the smart lock to online and displays the status on the interface, so that the user can see that the status of the smart lock changes to online.

706: When detecting that there is a cached operation instruction for the Internet of things device, the Internet of things platform delivers the operation instruction to the Internet of things device.

In this embodiment of this application, after receiving the connection request message, the Internet of things platform may further detect whether there is a corresponding cached operation instruction for the Internet of things device. If the Internet of things platform detects that there is a cached operation instruction, the Internet of things platform sends the operation instruction to the Internet of things device through the NAT device based on the private IP address in the connection request message of the Internet of things device. After receiving the operation instruction, the NAT device transmits the operation instruction to the corresponding Internet of things device based on the public-private network address mapping on the NAT device.

707: After completing a corresponding operation based on the operation instruction, the Internet of things device returns a processing result.

In this embodiment of this application, after receiving the operation instruction, the Internet of things device completes the corresponding operation. For example, after receiving the door opening instruction, the smart lock performs a door opening operation, for example, controls a motor to rotate to open a latch, and returns a processing result to the Internet of things platform after the execution is complete. The processing result returned by the smart lock may be door opening success information or door opening failure information.

708: After receiving the processing result, the Internet of things platform notifies an upper-layer application.

In this embodiment of this application, after receiving the processing result, the Internet of things platform sends a notification message to the upper-layer application of the terminal device. The notification message is used to indicate the processing result. For example, after successfully opening the door, the smart lock returns the door opening success information to the Internet of things platform. In this case, the Internet of things platform updates smart lock status information on the Internet of things platform. In addition, the Internet of things platform may further send a notification message to a mobile phone of the user, so that the mobile phone of the user receives a door opening success notification, and the mobile phone of the user may further display the notification message.

It may be understood that the upper-layer application is generally installed on the terminal device of the user. The terminal device includes but is not limited to a device such as a computer, a tablet, or a mobile phone. The upper-layer application may be a dedicated client, a computer program, or mobile software. In actual application, the upper-layer application may be a web page, or the like. Details are not described herein.

FIG. 10 is a schematic diagram of an interface on which the upper-layer application displays the notification message according to an embodiment of this application. It can be learned that after receiving the notification message of the Internet of things platform, the upper-layer application on the terminal device of the user may pop up, by using an operating system, a notification indicating that the smart lock is unlocked on the interface of the terminal device of the user. In this case, the user may immediately know that the door opening operation of the smart lock is completed. In addition, the upper-layer application may further display how the smart lock opens the door in another part of the interface. Details are not described herein again.

The following describes in detail a specific process in which an agent device and an Internet of things device are registered on an Internet of things platform. FIG. 11 is a schematic signaling diagram of registration on the Internet of things platform by the agent device and the Internet of things device according to an embodiment of this application. It can be learned that a registration process includes the following steps.

1101: The Internet of things platform receives a first registration instruction of the agent device, stores an identifier of the agent device and a type of the agent device, and establishes a heartbeat connection to the agent device.

In this embodiment of this application, after receiving the first registration instruction of the agent device, the Internet of things platform may determine information such as the identifier of the agent device and the type of the agent device based on the first registration instruction, and store the information such as the identifier of the agent device and the type of the agent device to the Internet of things platform. In addition, the Internet of things platform may maintain the heartbeat connection to the agent device through a NAT device, to keep a public-private network address mapping between the Internet of things platform and the agent device alive.

In a possible embodiment, there is a plurality of agent devices on a private network under the NAT device, and the Internet of things platform receives a plurality of first registration instructions. In this case, the Internet of things platform may separately store information about each agent device to the Internet of things platform, and maintain a heartbeat connection to each agent device, to keep a public-private network address mapping between the Internet of things platform and each agent device alive.

In a possible embodiment, the Internet of things platform sets a target private network segment of the agent device. The Internet of things platform may determine the target private network segment of the agent device during registration of the agent device. For example, there is only one agent device on the private network under the NAT device, and a network segment of the private network under the NAT device is from 192.168.0.1 to 192.168.2.255. In this case, the Internet of things platform may set a target private network segment of the agent device to 192.168.0.1 to 192.168. 2.255, that is, a full network segment, and the agent device serves all Internet of things devices on the private network. For another example, there are three agent devices on the private network under the NAT device, and a network segment of the private network under the NAT device is 192.168.0.1 to 192.168.3.255. In this case, the Internet of things platform may set target private network segments of the agent devices to 192.168.0.1 to 192.168.0.255, 192.168.1.1 to 192.168.1.255, and 192.168.2.1 to 192.168.2.255 respectively. The three agent devices each serve a target private network segment, as shown in Table 2.

In a possible embodiment, the Internet of things platform may store a registered device based on information such as a device identifier, a device type parameter, and a device IP address. In this case, the Internet of things platform may store a type of the agent device as an agent device, and store a type of the Internet of things device as an Internet of things device. In actual application, 1 may be used to represent an agent device, and 2 may be used to represent an Internet of things device. To be specific, the device type parameter being 1 indicates that the device is an agent device, and the device type parameter being 2 indicates that the device is an Internet of things device. There may be another representation manner, and this is not specifically limited herein.

In a possible embodiment, after establishing the heartbeat connection to the agent device, the Internet of things platform may send a first registration success message to the agent device, to indicate that the agent device is successfully registered. In an implementation, the first registration success message may include the target private network segment of the agent device, to indicate a network segment served by the agent device. In another implementation, the first registration success message further includes information such as the identifier of the agent device.

1102: The Internet of things platform receives a second registration instruction of the Internet of things device, and stores an Internet of things device ID, a type of the Internet of things device, and a private IP address of the Internet of things device.

In this embodiment of this application, after receiving the second registration instruction of the Internet of things device, the Internet of things platform may obtain and store the Internet of things device ID, the type of the Internet of things device, and the private IP address of the Internet of things device. When generating a wake-up instruction, the Internet of things device may generate the wake-up instruction based on the Internet of things device ID and the private IP address of the Internet of things device. The wake-up instruction includes the Internet of things device ID and the private IP address of the Internet of things device.

In a possible embodiment, the Internet of things platform may further obtain and store a wake-up key of the Internet of things device. The wake-up key may be generated by the Internet of things device according to a specific algorithm, and then the Internet of things device sends the generated wake-up key to the Internet of things platform. The generated wake-up key may be carried in the second registration instruction. The algorithm for generating the key is not specifically limited in this embodiment of this application. In a possible implementation, the wake-up key may alternatively be input and set by a user. To be specific, after the user inputs and sets the wake-up key, the Internet of things device sends the wake-up key set by the user to the Internet of things platform. The wake-up key may be carried in the second registration instruction.

In a possible embodiment, the Internet of things platform may automatically allocate a wake-up key to the Internet of things device, where the wake-up key is automatically generated by the Internet of things platform according to a specific algorithm. In an implementation, the Internet of things platform generates a plurality of wake-up keys, then sequentially allocates the wake-up keys to Internet of things devices, and sends the wake-up keys to the corresponding Internet of things devices. In another implementation, the Internet of things platform generates the wake-up key based on the second registration instruction from the Internet of things device, and sends the wake-up key to the Internet of things device. The algorithm for generating the key is not specifically limited in this embodiment of this application.

In a possible embodiment, the Internet of things platform may obtain and store function information of the Internet of things device, and the function information may be carried in the second registration instruction sent by the Internet of things device to the Internet of things platform. The function information may include wake-up support information and command forwarding support information. The wake-up support information is used to indicate that the Internet of things device supports a wake-up mode. When the Internet of things device supports the wake-up mode, the Internet of things platform sends the wake-up instruction to the agent device, so that the agent device sends a wake-up message to the Internet of things device, to wake up the Internet of things device. The command forwarding support information is used to indicate that the Internet of things device supports a command forwarding mode. When the Internet of things device supports the command forwarding mode, reference may be made to another embodiment of this application. Details are not described herein again. In some embodiments, after obtaining an operation instruction for the Internet of things device, the Internet of things platform first determines, based on the function information corresponding to the Internet of things device, a mode supported by the Internet of things device. For example, if the Internet of things platform determines that the Internet of things device supports the wake-up mode, the Internet of things platform may perform a corresponding cross-network wake-up method. For another example, if the Internet of things platform determines that the Internet of things device supports the command forwarding mode, the Internet of things platform may perform a corresponding method for the command forwarding mode. Alternatively, for example, if the Internet of things platform determines that the Internet of things device supports both the wake-up mode and the command forwarding mode, the Internet of things platform may preferentially perform, according to a preset rule, a method corresponding to either of the modes, or perform methods corresponding to both modes. This is not limited in this embodiment of this application.

In a possible embodiment, after storing the Internet of things device ID, the type of the Internet of things device, and the private IP address of the Internet of things device, the Internet of things platform may send a second registration success message to the Internet of things device, to indicate that the Internet of things device is successfully registered. In a possible implementation, the second registration success message carries the Internet of things device ID and the wake-up key. When the Internet of things device receives the wake-up message sent by the agent device, the Internet of things device may check the Internet of things device ID and the wake-up key with the Internet of things device ID and the wake-up key in the wake-up message. If the IDs and the wake-up keys are the same, verification succeeds, and the Internet of things device may send a connection request message to the Internet of things platform in response to the wake-up message. If the IDs and the wake-up keys are different, verification fails. This indicates that an error occurs and the Internet of things device is not woken up temporarily.

In a possible embodiment, the Internet of things platform may obtain and store the Internet of things device ID and a login password. The Internet of things device ID and the login password may be carried in the second registration instruction sent by the Internet of things device to the Internet of things platform. When the Internet of things device is connected to the Internet of things platform again, the Internet of things device may perform verification or authentication by using the Internet of things device ID and the login password.

FIG. 12 is a schematic diagram of an interface on which the Internet of things platform displays registered devices according to an embodiment of this application. It can be learned that an administrator of the Internet of things platform may log in to the Internet of things platform to view which devices are registered on the Internet of things platform. As shown in FIG. 12, registered devices on the Internet of things platform include a camera, a smart lock, and an agent device 1. Device type parameters of the camera and the smart lock being 2 indicates that the camera and the smart lock are Internet of things devices, and a device type parameter of the agent device 1 being 1 indicates that a device type of the agent device 1 is an agent device. Cases of the camera and the smart lock are similar to those in other embodiments of this application. Details are not described herein again. In this embodiment of this application, the administrator may tap a virtual button of “specify a target private network segment” on the interface, to reallocate a target private network segment to the agent device. In a possible implementation, in response to that the virtual button of “specify a target private network segment” is tapped, the Internet of things platform pops up an input box of the target private network segment (where the input box is not shown in FIG. 12). After the administrator inputs the target private network segment, the Internet of things platform generates a target private network segment update instruction, and sends the target private network segment update instruction to the agent device, so that the agent device updates the network segment served by the agent device to the target private network segment in the target private network segment instruction. In a possible implementation, in response to that the virtual button of “specify a target private network segment” is tapped, the Internet of things platform automatically generates an appropriate target private network segment according to a specific algorithm, and sends the appropriate target private network segment to the agent device, so that the agent device updates the network segment served by the agent device to the appropriate target private network segment. The algorithm for generating the target private network segment by the Internet of things platform is not specifically limited in this embodiment of this application.

The following describes in detail a process in which an Internet of things device establishes a connection to an Internet of things platform after the Internet of things device receives a wake-up message. FIG. 13 is a schematic signaling diagram of establishing the connection between the Internet of things device and the Internet of things platform according to an embodiment of this application. It can be learned that the process includes the following steps.

1301: The Internet of things device receives the wake-up message.

In this embodiment of this application, the Internet of things device receives a wake-up message of an agent device, and the wake-up message may include an Internet of things device ID and a wake-up key. In a possible embodiment, the Internet of things device reads the Internet of things device ID and the wake-up key from the wake-up message, and determine, based on the Internet of things device ID and the wake-up key, whether the wake-up message is valid. If the wake-up message is valid, the Internet of things device sends a connection request message to the Internet of things platform.

1302: The Internet of things device sends the connection request message to the Internet of things platform.

It may be understood that the Internet of things device specifically sends the connection request message to the Internet of things platform through a NAT device, and a public-private network address mapping between the Internet of things device and the Internet of things platform is established on the NAT device. With the public-private network address mapping, the Internet of things platform may send an operation instruction to the Internet of things device through the NAT device.

In a possible embodiment, the connection request message sent by the Internet of things device to the Internet of things platform includes the Internet of things device ID and a private IP address of the Internet of things device. After receiving the connection request message, the Internet of things platform stores the Internet of things device ID and the private IP address of the Internet of things device that are in the connection request message. When the Internet of things platform needs to wake up the Internet of things device, the Internet of things platform may generate a wake-up instruction based on the Internet of things device ID and the private IP address of the Internet of things device, and the wake-up instruction carries the Internet of things device ID and the private IP address of the Internet of things device.

1303: The Internet of things platform sends a connection success message to the Internet of things device.

In a possible embodiment, the connection request message sent by the Internet of things device to the Internet of things platform includes authentication information. After verifying that the authentication information meets a condition, the Internet of things platform sends the connection success message to the Internet of things device. In a possible implementation, the authentication information may be the Internet of things device ID and a login password of the Internet of things device, and the Internet of things device ID and the login password of the Internet of things device may be specified during registration of the Internet of things device. Details are not described herein again. The Internet of things platform may verify whether the Internet of things device ID and the login password of the Internet of things device are correct. If the ID and the login password are correct, the Internet of things device is successfully connected, and the Internet of things platform may send the connection success message to the Internet of things device. In another possible implementation, the authentication information is a digital signature of the Internet of things device, and the digital signature may be specified during registration of the Internet of things device. Details are not described herein again. The Internet of things platform may verify whether the digital signature is correct. If the digital signature is correct, the Internet of things device is successfully connected, and the Internet of things platform may send the connection success message to the Internet of things device. In actual application, there may be another authentication manner, and this is not specifically limited herein.

1304: The Internet of things device receives the connection success message.

In this embodiment of this application, after receiving the connection success message sent by the Internet of things platform, the Internet of things device confirms that the connection is successful, and an online function of the Internet of things device may be implemented. For example, a camera uploads video content or content that is being photographed to the Internet of things platform. After obtaining, by using a fingerprint module on a smart lock, a fingerprint of a user opening the door, the smart lock uploads the fingerprint to the Internet of things platform. In actual application, there may be another online function of the Internet of things device, and this is not specifically limited herein.

In some embodiments, the Internet of things platform may obtain and store function information of the Internet of things device, and the function information may be carried in a second registration instruction sent by the Internet of things device to the Internet of things platform. The function information may include wake-up support information and command forwarding support information. The Internet of things platform may determine, by using the function information, a function mode supported by the Internet of things device. For details, refer to the foregoing embodiments. In some embodiments, the Internet of things device supports only a wake-up mode. In this case, for an interaction process of the Internet of things platform, the agent device, and the Internet of things device, refer to the foregoing embodiments. Details are not described herein again. In some other embodiments, the Internet of things device supports only a command forwarding mode. In some other embodiments, the Internet of things device supports both the wake-up mode and the command forwarding mode. The following describes in detail an interaction process of the Internet of things platform, the agent device, and the Internet of things device when the Internet of things device supports the command forwarding mode. FIG. 14 is a schematic signaling diagram when the Internet of things device supports the command forwarding mode according to an embodiment of this application. It can be learned that the interaction process includes the following steps.

1401: Obtain an operation instruction for the Internet of things device.

In this embodiment of this application, step 1401 is similar to step 701 in the foregoing embodiments corresponding to FIG. 7. Details are not described herein again. It may be understood that the operation instruction may include an Internet of things device ID, to indicate a specific Internet of things device that implements the operation instruction. For example, an operation instruction for door opening is generally implemented by a smart doorbell, and the operation instruction for door opening generally includes an ID of the smart doorbell.

1402: Determine that the Internet of things device supports the command forwarding mode, and send a command forwarding instruction to the agent device.

In this embodiment of this application, the Internet of things platform determines, based on the function information of the Internet of things device, whether the Internet of things device supports the command forwarding mode. The function information may include the wake-up support information and the command forwarding support information. The wake-up support information is used to indicate that the Internet of things device supports the wake-up mode. The command forwarding support information is used to indicate that the Internet of things device supports the command forwarding mode. When detecting that the function information of the Internet of things device includes the command forwarding support information, the Internet of things platform may determine that the Internet of things device supports the command forwarding mode. After determining that the Internet of things device supports the command forwarding mode, the Internet of things platform may send the command forwarding instruction to the agent device.

When sending the command forwarding instruction to the agent device, the Internet of things platform may first determine a target private network segment of an agent device to which the private IP address of the Internet of things device belongs, to determine the agent device corresponding to the Internet of things device. Then, the Internet of things platform may send the command forwarding instruction to the corresponding agent device. Description is provided with reference to Table 2. For example, if a private IP address of an Internet of things device is 192.168.0.100, the Internet of things platform determines that the private IP address belongs to a target private network segment from 192.168.0.1 to 192.168.0.255. In this case, an agent device corresponding to the Internet of things device is the agent device 1, and the Internet of things platform may send a command forwarding instruction to the agent device 1.

In this embodiment of this application, the command forwarding instruction may include an operation instruction. After receiving the command forwarding instruction, the agent device generates a command forwarding message, where the command forwarding message carries the operation instruction. When receiving the command forwarding message, the Internet of things device may execute the operation instruction in the forwarding message.

In a possible embodiment, the command forwarding instruction may further include the private IP address of the Internet of things device. The Internet of things platform may obtain and store the private IP address of the Internet of things device during registration of the Internet of things device, or may obtain and store the private IP address of the Internet of things device when the Internet of things device is connected to the Internet of things platform. This is not specifically limited herein. Then, the Internet of things platform generates the command forwarding instruction that includes the private IP address of the Internet of things device. After receiving the command forwarding instruction, the agent device generates a command forwarding message based on the private IP address of the Internet of things device in the command forwarding instruction, where a destination address of the command forwarding message is the private IP address of the Internet of things device, so that the command forwarding message can be smoothly transmitted to the Internet of things device on a private network.

In a possible embodiment, the command forwarding instruction further includes the Internet of things device ID and a key, and the Internet of things device ID and the key may be stored in the Internet of things platform during registration of the Internet of things device or when the Internet of things device is connected to the Internet of things platform. After receiving the command forwarding instruction, the agent device may generate a command forwarding message that includes the Internet of things device ID and the key. When receiving the command forwarding message, the Internet of things device may perform verification based on the Internet of things device ID and the key. A verification method is similar to an account password verification method, and details are not described herein again. After the authentication succeeds, the Internet of things device may execute the operation instruction in the command forwarding message.

1403: The agent device sends the command forwarding message to the Internet of things device based on the command forwarding instruction.

In this embodiment of this application, after receiving the command forwarding instruction, the agent device may generate the command forwarding message based on the private IP address of the Internet of things device in the command forwarding instruction, where the destination address of the command forwarding message is the private IP address of the Internet of things device, so that the command forwarding message can be smoothly transmitted to the Internet of things device on the private network.

In this embodiment of this application, the command forwarding message sent by the agent device to the Internet of things device includes an operation instruction, and the operation instruction comes from the command forwarding instruction sent by the Internet of things platform to the agent device. When receiving the command forwarding message, the Internet of things device may execute the operation instruction in the forwarding message.

In a possible embodiment, the command forwarding message may include the Internet of things device ID and the key. The Internet of things device ID and the key may be transmitted to the agent device by using the command forwarding instruction. Then, the agent device generates, based on the command forwarding instruction, the command forwarding message that carries the Internet of things device ID and the key. When receiving the command forwarding message, the Internet of things device may perform verification based on the Internet of things device ID and the key. A verification method is similar to the account password verification method, and details are not described herein again. After the authentication succeeds, the Internet of things device may execute the operation instruction in the forwarding message.

1404: The Internet of things device executes the operation instruction in the forwarding message.

In this embodiment of this application, the command forwarding message received by the Internet of things device includes the operation instruction, and in response to the command forwarding message, the Internet of things device executes the operation instruction in the forwarding message. For example, the Internet of things device is a smart doorbell, and the command forwarding message includes an operation instruction for door opening. After receiving the command forwarding message, the smart doorbell may execute the operation instruction for door opening, so that the user can enter the house.

In a possible embodiment, the command forwarding message includes the Internet of things device ID and the key. When receiving the command forwarding message, the Internet of things device may perform verification based on the Internet of things device ID and the key. A verification method is similar to the account password verification method, and details are not described herein again. After the authentication succeeds, the Internet of things device may execute the operation instruction in the forwarding message.

For a registration process of the Internet of things device and a registration process of the agent device when the Internet of things device supports the command forwarding mode, refer to the embodiments corresponding to FIG. 11. Details are not described herein again.

In the embodiments of this application, the agent device, the Internet of things platform, and the Internet of things device may be divided into function modules based on the foregoing method examples. For example, each function module may be obtained through division based on each corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in a form of hardware, or may be implemented in a form of a software function module. It should be noted that, in the embodiments of this application, division into the modules is an example, and is merely logical function division. In an actual implementation, another division manner may be used.

When each function module is obtained through division based on each corresponding function, FIG. 15 is a possible schematic composition diagram of the agent device in the foregoing embodiments. An agent device 1500 can perform the steps performed by the agent device in any one of the method embodiments of this application. The agent device 1500 may include an obtaining unit 1501 and a sending unit 1502.

The obtaining unit 1501 is configured to perform or support the agent device in performing the method described in the embodiments of this application. For example, the obtaining unit 1501 is configured to: obtain a wake-up instruction from an Internet of things platform, obtain a first registration success message from the Internet of things platform, and obtain a command forwarding instruction from the Internet of things platform.

The sending unit 1502 is configured to perform or support the agent device in performing the method described in the embodiments of this application. For example, the sending unit 1502 is configured to: perform or support the agent device in performing step 703 in the cross-network wake-up method shown in FIG. 7, send a first registration instruction to the Internet of things platform, and perform or support the agent device in performing step 1403 in the process shown in FIG. 14.

When each function module is obtained through division based on each corresponding function, FIG. 16 is a possible schematic composition diagram of the Internet of things platform in the foregoing embodiments. An Internet of things platform 1600 can perform the steps performed by the Internet of things platform in any one of the method embodiments of this application. The Internet of things platform 1600 may include an obtaining unit 1601, a sending unit 1602, and a processing unit 1603.

The obtaining unit 1601 is configured to perform or support the Internet of things platform in performing the method described in the embodiments of this application. For example, the obtaining unit 1601 is configured to: perform or support the Internet of things platform in performing step 701 and step 708 in the cross-network wake-up method shown in FIG. 7, obtain a connection request message from an Internet of things device, obtain a processing result from the Internet of things device, obtain a first registration instruction from an agent device, obtain a second registration instruction from the Internet of things device, and perform or support the Internet of things platform in performing step 1401 in the process shown in FIG. 14.

The sending unit 1602 is configured to perform or support the Internet of things platform in performing the method described in the embodiments of this application. For example, the sending unit 1602 is configured to: perform or support the Internet of things platform in performing step 702 and step 706 in the cross-network wake-up method shown in FIG. 7, send a first registration success message to the agent device, send a second registration success message to the Internet of things device, perform or support the Internet of things platform in performing step 1303 in the process shown in FIG. 13, and perform or support the Internet of things platform in performing step 1402 in the process shown in FIG. 14.

The processing unit 1603 is configured to perform or support the Internet of things platform in performing the method described in the embodiments of this application. For example, the processing unit 1603 is configured to: perform or support the Internet of things platform in performing step 705 in the cross-network wake-up method shown in FIG. 7, and perform or support the Internet of things platform in performing step 1101 and step 1102 in the process shown in FIG. 11.

When each function module is obtained through division based on each corresponding function, FIG. 17 is a possible schematic composition diagram of the Internet of things device in the foregoing embodiments. An Internet of things device 1700 can perform the steps performed by the Internet of things device in any one of the method embodiments of this application. The Internet of things device 1700 may include an obtaining unit 1701, a sending unit 1702, and a processing unit 1703.

The obtaining unit 1701 is configured to perform or support the Internet of things device in performing the method described in the embodiments of this application. For example, the obtaining unit 1701 is configured to: obtain a wake-up message from an agent device, obtain an operation instruction from an Internet of things platform, obtain a second registration success message from the Internet of things platform, perform or support the Internet of things device in performing step 1301 and step 1304 in the process in FIG. 13, and obtain a command forwarding message from the agent device.

The sending unit 1702 is configured to perform or support the Internet of things device in performing the method described in the embodiments of this application. For example, the sending unit 1702 is configured to: perform or support the Internet of things device in performing step 704 and step 707 in the cross-network wake-up method shown in FIG. 7, send a second registration instruction to the Internet of things platform, and perform or support the Internet of things device in performing step 1302 in the process in FIG. 13.

The processing unit 1703 is configured to perform or support the Internet of things device in performing the method described in the embodiments of this application. For example, the processing unit 1703 is configured to execute an operation instruction from the Internet of things platform.

It should be noted that all related content of the steps in the foregoing method embodiments may be cited in function descriptions of corresponding function modules. Details are not described herein again.

The agent device, the Internet of things platform, and the Internet of things device provided in the embodiments of this application are configured to perform the method in any one of the foregoing embodiments. Therefore, an effect the same as the effect of the methods in the foregoing embodiments can be achieved.

As shown in FIG. 18, an embodiment of the agent device in the embodiments of this application may include one or more central processing units 1801, a memory 1802, an input/output interface 1803, a wired or wireless network interface 1804, and a power supply 1805.

The memory 1802 may be a transient storage or persistent storage. Further, the central processing unit 1801 may be configured to communicate with the memory 1802, and perform, on the agent device, a series of instruction operations in the memory 1802.

In this embodiment, the central processing unit 1801 may perform operations performed by the agent device in the foregoing embodiments shown in FIG. 7 to FIG. 14. Details are not described herein again.

In this embodiment, specific function module division in the central processing unit 1801 may be similar to function module division in the units such as the obtaining unit and the sending unit described in FIG. 15. Details are not described herein again.

As shown in FIG. 19, an embodiment of an Internet of things platform server in the embodiments of this application may include one or more central processing units 1901, a memory 1902, an input/output interface 1903, a wired or wireless network interface 1904, and a power supply 1905.

The memory 1902 may be a transient storage or persistent storage. Further, the central processing unit 1901 may be configured to communicate with the memory 1902, and perform, on the Internet of things platform server, a series of instruction operations in the memory 1902.

In this embodiment, the central processing unit 1901 may perform operations performed by the Internet of things platform in the foregoing embodiments shown in FIG. 7 to FIG. 14. Details are not described herein again.

In this embodiment, specific function module division in the central processing unit 1901 may be similar to function module division in the units such as the obtaining unit, the sending unit, and the processing unit described in FIG. 16. Details are not described herein again.

As shown in FIG. 20, an embodiment of the Internet of things device in the embodiments of this application may include one or more central processing units 2001, a memory 2002, an input/output interface 2003, a wired or wireless network interface 2004, and a power supply 2005.

The memory 2002 may be a transient storage or persistent storage. Further, the central processing unit 2001 may be configured to communicate with the memory 2002, and perform, on the Internet of things device, a series of instruction operations in the memory 2002.

In this embodiment, the central processing unit 2001 may perform operations performed by the Internet of things device in the foregoing embodiments shown in FIG. 7 to FIG. 14. Details are not described herein again.

In this embodiment, specific function module division in the central processing unit 2001 may be similar to function module division in the units such as the obtaining unit, the sending unit, and the processing unit described in FIG. 17. Details are not described herein again.

This embodiment further provides a computer-readable storage medium. The computer-readable storage medium includes instructions. When the instructions are run on an agent device, an Internet of things platform, or an Internet of things device, the agent device, the Internet of things platform, or the Internet of things device is enabled to perform related method steps in FIG. 7, FIG. 11, FIG. 13, and FIG. 14, to implement the methods in the foregoing embodiments.

This embodiment further provides a computer program product including instructions. When the computer program product runs on an agent device, an Internet of things platform, or an Internet of things device, the agent device, the Internet of things platform, or the Internet of things device is enabled to perform related method steps in FIG. 7, FIG. 11, FIG. 13, and FIG. 14, to implement the methods in the foregoing embodiments.

It can be clearly understood by a person skilled in the art that, for a purpose of convenient and brief description, for detailed working processes of the foregoing system, apparatus, and unit, refer to corresponding processes in the foregoing method embodiments. Details are not described herein.

In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in another manner. For example, the described apparatus embodiments are merely examples. For example, division into units is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.

The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, and may be located at one location, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.

In addition, function units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software function unit.

When the integrated unit is implemented in a form of a software function unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the conventional technology, or all or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of this application. The storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc. 

What is claimed is:
 1. A cross-network wake-up method, comprising: obtaining, by an agent device, a wake-up instruction sent by an Internet of things platform, wherein the wake-up instruction comprises a private network address of a to-be-woken-up Internet of things device; the agent device maintains, through a network address translation NAT device, a heartbeat connection to the Internet of things platform deployed on a public network; and the agent device and N to-be-woken-up Internet of things devices are deployed on a same private network, wherein N is an integer greater than or equal to 1; and sending, by the agent device, a wake-up message to the to-be-woken-up Internet of things device based on the wake-up instruction through the private network address, wherein the wake-up message is used to indicate the to-be-woken-up Internet of things device to send a connection request message to the Internet of things platform, and the connection request message is used to indicate the Internet of things platform to connect to the to-be-woken-up Internet of things device.
 2. The method according to claim 1, wherein the wake-up instruction further comprises an identity ID and a wake-up key of the to-be-woken-up Internet of things device, and the sending, by the agent device, a wake-up message to the to-be-woken-up Internet of things device based on the wake-up instruction through the private network address comprises: sending, by the agent device, the wake-up message to the to-be-woken-up Internet of things device through the private network address, wherein the wake-up message comprises the ID and the wake-up key of the to-be-woken-up Internet of things device, and the wake-up key is used for authentication before the to-be-woken-up Internet of things device establishes a connection to the Internet of things platform.
 3. The method according to claim 1, wherein the private network address of the to-be-woken-up Internet of things device is in a target private network segment stored by the agent device, and the target private network segment comprises a private network address served by the agent device.
 4. The method according to claim 1, wherein before the obtaining, by an agent device, a wake-up instruction sent by an Internet of things platform, the method further comprises: sending, by the agent device, a first registration instruction to the Internet of things platform, wherein the first registration instruction comprises an identifier, a registration type, and the private network address of the agent device, and the registration type is used to indicate that a device type of the agent device is an agent device; and receiving, by the agent device, the target private network segment from the Internet of things platform, wherein the target private network segment comprises the private network address served by the agent device.
 5. An agent device, comprising: one or more central processing units, a memory, an input/output interface, a wired or wireless network interface, and a power supply, wherein the memory is a transient storage memory or a persistent storage memory; and the central processing unit is configured to communicate with the memory, and execute, on the agent device, an instruction operation in the memory, to: obtain a wake-up instruction sent by an Internet of things platform, wherein the wake-up instruction comprises a private network address of a to-be-woken-up Internet of things device; the agent device maintains, through a network address translation NAT device, a heartbeat connection to the Internet of things platform deployed on a public network; and the agent device and N to-be-woken-up Internet of things devices are deployed on a same private network, wherein N is an integer greater than or equal to 1; and send a wake-up message to the to-be-woken-up Internet of things device based on the wake-up instruction through the private network address, wherein the wake-up message is used to indicate the to-be-woken-up Internet of things device to send a connection request message to the Internet of things platform, and the connection request message is used to indicate the Internet of things platform to connect to the to-be-woken-up Internet of things device.
 6. The agent device according to claim 5, wherein the central processing unit is configured to communicate with the memory, and execute, on the agent device, an instruction operation in the memory, to: send the wake-up message to the to-be-woken-up Internet of things device through the private network address, wherein the wake-up message comprises an ID and a wake-up key of the to-be-woken-up Internet of things device, and the wake-up key is used for authentication before the to-be-woken-up Internet of things device establishes a connection to the Internet of things platform.
 7. The agent device according to claim 5, wherein the private network address of the to-be-woken-up Internet of things device is in a target private network segment stored by the agent device, and the target private network segment comprises a private network address served by the agent device.
 8. The agent device according to any one of claim 5, wherein the central processing unit is configured to communicate with the memory, and execute, on the agent device, an instruction operation in the memory, to: send a first registration instruction to the Internet of things platform, wherein the first registration instruction comprises an identifier, a registration type, and the private network address of the agent device, and the registration type is used to indicate that a device type of the agent device is an agent device; and receive the target private network segment from the Internet of things platform, wherein the target private network segment comprises the private network address served by the agent device.
 9. An Internet of things platform, comprising: one or more central processing units, a memory, an input/output interface, a wired or wireless network interface, and a power supply, wherein the memory is a transient storage memory or a persistent storage memory; and the central processing unit is configured to communicate with the memory, and execute, on the Internet of things platform, an instruction operation in the memory, to: send a wake-up instruction to an agent device, wherein the wake-up instruction comprises a private network address of a to-be-woken-up Internet of things device; the agent device maintains, through a network address translation NAT device, a heartbeat connection to the Internet of things platform deployed on a public network; the agent device and N to-be-woken-up Internet of things devices are deployed on a same private network; the wake-up instruction is used to instruct the agent device to send a wake-up message to the to-be-woken-up device; and the wake-up message is used to indicate the to-be-woken-up device to send a connection message to the Internet of things platform, wherein N is an integer greater than or equal to 1; obtain the connection request message, wherein the connection request message comprises an identifier of the to-be-woken-up device; and connect to the to-be-woken-up device based on the connection request message.
 10. The Internet of things platform according to claim 9, wherein the central processing unit is configured to communicate with the memory, and execute, on the agent device, an instruction operation in the memory, to: receive a first registration instruction of the agent device, wherein the first registration instruction comprises an identifier, a registration type, and a private network address of the agent device, and the registration type is used to indicate that a device type of the agent device is an agent device; determine a target private network segment of the agent device based on the private network address of the agent device, wherein the target private network segment comprises the private network address served by the agent device; store the identifier and the registration type of the agent device; and send the target private network segment to the agent device.
 11. The Internet of things platform according to claim 9, wherein the central processing unit is configured to communicate with the memory, and execute, on the agent device, an instruction operation in the memory, to: receive a second registration instruction of the to-be-woken-up Internet of things device, wherein the second registration instruction comprises an identity ID, a registration type, the private network address, and function information of the to-be-woken-up Internet of things device, the registration type is used to indicate that a device type of the to-be-woken-up Internet of things device is an Internet of things device, and the function information comprises wake-up support information; and store the ID, the registration type, the private network address, and the function information of the to-be-woken-up Internet of things device.
 12. The Internet of things platform according to claim 9, wherein the central processing unit is configured to communicate with the memory, and execute, on the agent device, an instruction operation in the memory, to: generate the wake-up instruction, wherein the wake-up instruction carries the ID and a wake-up key of the to-be-woken-up Internet of things device, and the ID and the wake-up key of the to-be-woken-up Internet of things device are used for authentication before the to-be-woken-up Internet of things device establishes a connection to the Internet of things platform.
 13. The Internet of things platform according to claim 9, wherein the central processing unit is configured to communicate with the memory, and execute, on the agent device, an instruction operation in the memory, to: determine that a device status of the to-be-woken-up Internet of things device is offline; generate, by the Internet of things platform, the wake-up instruction based on the ID of the to-be-woken-up Internet of things device and the private network address that is of the to-be-woken-up Internet of things device and that is stored on the Internet of things platform. 